1. Technical Field
This invention relates generally to a software tool for rapidly checking design rules associated with an apparatus or computer model, and more specifically to software that compares relational data of an apparatus or software model to a set of predetermined design rules and graphically presents to a user a matrix that indicates where the relational data does and does not correspond to those design rules.
2. Background Art
Most all electronic devices include a printed circuit board somewhere in the device. The printed circuit board serves as the “brain” of the device, as this is where all of the electronic “magic” happens. Microprocessors, memory devices, transistors, resistors and capacitors are all connected together on the printed circuit board. In short, in an electronic device, a printed circuit board is where all the action takes place.
Not so long ago, engineers designed printed circuit boards using tape and cardboard. Starting with a paper schematic diagram, an engineer would meticulously affix tape to the cardboard. The tape would indicate where the electrical conductors, or “traces”, should go. The engineer would then draw or tape in other elements like pads, component locations and holes. A camera would take a picture of the finished “board” and that image would be used by the board manufacturer to etch the real circuit board in miniature form.
Every circuit board has certain design rules associated with electrical components. These design rules may cover any number of limitations related to the circuit. By way of example, since electricity is capable of arcing from one conductor to the next, one type of design rule relates to the spacing between conductors and components. For instance, a minimum spacing between conductors on a printed circuit board may be 0.5 mm.
Back in the day where tape was used to create circuit boards, engineers had to manually measure the distance between circuit components with a ruler. Today, however, tape and cardboard are no longer used in designing circuit boards. Computer aided design tools have automated the entire printed circuit board design process. Both the schematic and corresponding printed circuit board may be created entirely with a computer.
Using computer aided design tools, an engineer first draws the circuit in a schematic capture program. When the schematic is first entered, the engineer can manually enter design rules associated with each component. By way of example, when the engineer connects a resistor to a battery, the engineer has just created a nodal connection, or “net”, to which design rules may be assigned. That net may not be allowed to be any closer than 2 mm, for example, to any other component.
From this schematic, a printed circuit board computer aided design system creates a parts list, with each part corresponding to a schematic symbol. A circuit board designer then takes the parts list and, with the aid of a computer mouse, drags the parts onto a virtual circuit board. The computer aided design program reads the design rules from the schematic and may associate the rules with elements like parts, pins, pads, holes and traces on the circuit board. Additionally, depending upon the features and settings of the program, the computer aided design program may automatically create “keep outs” that prevent the designer from putting components too close together.
The problem with this system is that the engineers who enter the design rules are human. Consequently, they are prone to make typographical errors when entering the design rules. For instance, the engineer may enter a spacing of 0.4 mm as opposed to 0.5 mm. The result may be a circuit that stops operating if coffee or another liquid comes into contact with the printed circuit board.
One prior art solution intended to prevent this data entry problem is the textual design rule report. The manufacturers of schematic capture programs have developed software that will export a text file listing every electrical connection, or net, and the design rules associated therewith. The engineer can check the design rules by reading the nets one by one and checking them by hand to ensure that they are correct. This is incredibly time consuming, however, as such a text file can exceed one hundred pages for even the simplest schematic. With typical design cycles running less than six weeks, there is simply not enough time to read and hand check hundreds and hundreds of pages of textual data.
There is thus a need for an improved method of checking design rules associated with electronic models.